Collaborative system for protecting against the propagation of malwares in a network

ABSTRACT

The present invention is a system for using a collective computing power of a plurality of network stations in a communication network in order to overcome threats generated by malicious applications. Collaboratively, a large group of simple network stations implement a vaccination mechanism, proliferating information concerning malicious applications (malwares) throughout the network in an efficient manner.

FIELD OF THE INVENTION

The present invention relates to the field of malware identification. More particularly, the invention relates to the detection of malware applications in a collaborative way in a communication network and the efficient and fault tolerant propagation of related information throughout the network.

BACKGROUND OF THE INVENTION

Operating systems of modern network devices, e.g. a smart phone, a PDA, a UMPC, etc., are becoming more and more popular, as well as increasingly susceptible to attacks originating from malicious applications, i.e. malwares. These malwares exhibit a variety of threats, stretching from data loss to forced advertising. Users' privacy and security can be compromised not only as a result of a hostile software, deliberately released as bait, but also by “innocent” applications, which might contain (sometimes unknowingly) vulnerabilities that can later be used by an attacker.

A variety of tools and methods designed to overcome such threats have been developed. Most current systems rely on a central service for identifying new threats and reporting them to the users as a periodic update. This approach is problematic; as such systems suffer from a single point of failure, i.e. those central servers, can be compromised by a focused attack, and are sometimes dependent on the user executing the periodic update.

In recent years, an alternative design approach, using the collective strength of network stations has been presented. Collaboratively, a large group of network stations can be shown to implement a method, proliferating information concerning malwares and propagating that information throughout the network. Using such a system, no single point of failure exists since both threats identification and the update mechanism are completely decentralized. Moreover, each network station increases its selfish defense utilization, e.g. fewer resources are allocated individually for the task of identifying a malware.

Information propagation in networks could be considered as flooding a network with messages intended for a large number of network stations [2], [3], [4]. This is arguably the simplest form of information dissemination in communication networks, especially when previous knowledge about the network topology is limited or unavailable. Since the basic problem of finding the minimum energy transmission scheme for broadcasting a set of messages in a given network is known to be NP-Complete, flooding optimization often relies on approximation algorithms. For example, in [5] and [8], messages are forwarded according to a set of predefined probabilistic rules, whereas [1] and [6] advocate deterministic algorithms. In [7], a deterministic algorithm which approximates the connected dominating set within a two-hop neighborhood of each network station in order to form a “backbone” of forwarding network stations is proposed. A complete review in the field of flooding techniques can be found in [9].

Information propagation concerning malwares in networks is measured by the actual ability of the system to successfully complete the information proliferation, minimize the number of messages sent in the system and minimize the completion time itself. The time of the completion is of course crucial, since one would like to immune network stations that are not yet infected, as well as remove the malware from the already infected network stations, and to do so as quickly as possible. The number of messages sent is also an important quality since one would like to minimize the energy exhausted in the system, e.g. the battery usage exhausted and the dedicated network bandwidth. However, none of the currently available methods for the proliferation of information concerning malwares can provide both low completion time as well as low number of messages to be sent throughout the network.

It is therefore an object of the present invention to reliably detect the existence of malwares on network stations.

It is another object of the present invention to prevent the propagation of malware in a network.

It is still another object of the present invention to quickly inform other network stations about the existence of a malware in the network, and doing so in an economical way in terms of the number of messages sent, the bandwidth used during the process and the resources allocated.

It is another object of the present invention to create a system that is fault tolerant to active adversarial attacks in the network.

It is still another object of the present invention to create a system that that is fault tolerant to passive adversarial attacks in the network, i.e. can adapt to the presence of “leeching” units that only draw information from the system and do not contribute to it

It is yet another object of the present invention to create a system for identification of malwares that will have no single point of failure.

Other objects and advantages of the invention will become apparent as the description proceeds.

SUMMARY OF THE INVENTION

The present invention presents a collaborative system for protecting against the propagation of malwares in a network, which comprising a plurality of network stations. Each station in the network comprises a detection module for locally scanning stations for possibly detecting a malware every T time units. Each station in the network also comprises an output unit and a list containing the values of parameters TTL, X, ρ and T. The station further comprises first list for indicating safe applications, a second list indicating unclassified applications and a third list indicating malwares.

The network station also comprises a network unit adopted to send an alert message to X other network stations upon detection of a malware by the detection module. Each alert message comprises the ID of the detected malware, and a TTL value, wherein the TTL value indicates the number of times the alert message should be transmitted before it is discarded. Upon receipt of an alert message the detection module lists the malware ID identified in the alert message in the third list, and, if ρ=1, notifies the user through said output unit, or, if ρ>1, updates the number of alert messages received concerning the malware ID. The network unit than checks the number of alert messages concerning said malware ID that were received and notifies the user through the output unit if the number of alert messages exceeds ρ>1. For ρ≧1, The network unit checks if value of the TTL included in the alert message as received at the station is greater than 0, and if so, sends an additional alert message from the station to one or more other stations. The additional alert message comprises said malware ID and a value of TTL decreased by 1 from the TTL included in the alert message as received at the station.

In one embodiment, the collaborative system may further comprise a server for updating the values of TTL, X, ρ and T and sending the update to the station.

In an embodiment of the invention, the malware is deleted from the station automatically if more than ρ alert messages concerning said malware ID were received.

In an embodiment of the invention, the user is given an option to delete the malware from the station automatically if more than ρ alert messages concerning said malware ID were received.

In an embodiment of the invention, the malware ID identified in said the message is removed from the second list upon receipt of an alert message.

In an embodiment of the invention, each station stores the addresses of the X other network stations.

In an embodiment of the invention, the server stores the addresses of said X other network stations.

All the above and other characteristics and advantages of the invention will be further understood through the following illustrative and non-limitative description of embodiments thereof, with reference to the appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other characteristics and advantages of the invention will be better understood through the following illustrative and non-limitative detailed description of preferred embodiments thereof, with reference to the appended drawings, wherein:

FIG. 1 schematically illustrates an exemplary communication network

FIG. 2 schematically illustrates a network station in the communication network

FIG. 3 schematically illustrates a propagation of messages in the network.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention relates to a system for using a collective computing power of plurality network stations in a communication network in order to overcome threats generated by malicious applications. Collaboratively, a large group of simple network stations implement a vaccination mechanism, proliferating information concerning malicious applications (hereinafter “malwares”) throughout the network in an efficient manner.

The following discussion refers to two different cases as follows:

a. A case where the stations of the network are fed from the electricity main, and in these cases there is no need for optimizing the electricity consumption of each station; and b. A case where the stations of the network are mobile, while each station is fed from a corresponding battery. In these cases there is a need for optimizing the electricity consumption of each station;

As will be demonstrated hereinafter, the structure and operation of the stations in these two cases is similar, while they differ mainly by the value of the ρ parameter, which will be discussed in detail hereinafter. More specifically, it will be demonstrated that for case (a) the value of ρ>1 is appropriate, and for case (b) the value of ρ=1 is appropriate. The following discussion, however, refers to the more general case, where the value of ρ can have any value.

According to the present invention, malwares are identified by individual network stations using conventional detection methods. More specifically, each network station periodically performs independently a detection procedure for a specific application which is installed on the network station, in order to detect possible malware, and upon detection of such malware, the network station sends an alert message, with a predefined lifespan, informing such detection to a predefined number of other network stations. Each of the neighboring network stations continue to propagate said alert message to another neighboring network station until the lifespan of said alert message reaches an end. Moreover, each network station that receives the alert message, upon receipt of a predefined number of notifications concerning maliciousness of a given application, safely defines such application as malicious without having to locally perform by itself detection or analysis procedures relating to that specific application. A set of predefined parameters used to fine-tune and maximize efficiency of the method performed by the plurality of network stations is determined by a network operator and transmitted to each of the network stations. The system of the invention implements an efficient and secure propagation mechanism for distributing information between its network station members. As a result, the network stations are provided with a reliable monitoring service by harnessing the collective computing power of individual stations, thereby reducing the amount of time it takes to identify a specific malware, and the resource allocation for this task, in comparison to known malware identification techniques. Furthermore, since a plurality of network stations are utilized, no single point of failure exists, making the system more attack-tolerant. Moreover, the system of the invention reduces the time until a station is notified of new malware detection, thereby ensuring fast elimination of the propagation of the malware within the network stations.

FIG. 1 schematically illustrates network 100 (e.g. a PAN, a WAN, a LAN, etc.). This exemplary network is presented for the purpose of illustration, as real-life networks are much more complex. Network 100 comprise a large number of network stations, several of them are shown and illustrated as 10 a to 10 i, and main server 700. Network stations 10 a to 10 i are capable of sending short messages within network 100 among themselves using main server 700. In one embodiment of the invention, sending these messages is facilitated by a service layer situated in server 700, which receives a message to be sent from the sending network station, and randomly chooses a destination network station in the network. In another embodiment of the invention, each of the network stations manages a list of addresses of other network stations, and sends the messages through the service layer, which forwards the messages to the appropriate destinations.

FIG. 2 schematically illustrates the structure of exemplary network station 10 a. A plurality of applications 11 to 19 are installed on network station 10 a. Some or all of the same application, 11 to 19 or other, may be installed on several network stations. Each network station on network 100 can host several applications, but not more than a single instance of a same application.

According to the present invention, network station 10 a comprises a malware detection module 200 (hereinafter MDM), which can be implemented in hardware, software, or a combination thereof. MDM 200 periodically inspects the applications installed on network station 10 a and identifies malwares installed on said network station 10 a using conventional detection techniques. However, since the detection process executed by MDM 200 is assumed to be rather expensive in terms of the network station energy source (e.g. a battery in a mobile device), resource allocations and CPU usage, it is therefore executed as few times as possible, as will be illustrated below.

It is well known that a specific application may be installed on a large number of network stations. Therefore, it is sufficient to have only a portion of the network stations identify a certain application as malicious. Consequently, alert messages are rapidly proliferated throughout the network, resulting in a low overall cost for the network, in terms of resources consumed and time until the information is propagated.

According to the present invention, network station 10 a also maintains 3 lists. Suspected applications list 300, which is a list of suspected applications, safe applications list 301 which is a list of applications known to be safe, and known malwares list 302 which is a list containing known malwares. To identify each application, the lists contain a unique ID for each application (e.g., an application signature, name, or any other data that will permit the unique identification of an application).

Network station 10 a comprises a network unit 500, which is able to send and receive messages to/from main server 700 through network 100.

Network station 10 a may also comprise an output device 400 for alerting a user on malware identification. This output device may be a display, a sound device, etc.

Network station 10 a also comprises a parameters list 600, which holds parameters values that affect the function of MDM 200. The use of the various parameters will be detailed below.

Parameter list 600 comprises at least the following parameters:

-   -   Parameter TTL, which represents TTL (Time To Live), i.e. the         number of network stations, i.e. transmissions, a specific alert         message experiences before it should be discarded.     -   Parameter X, which represents the amount of alert messages         generated and sent by a network station that monitors a selected         application and finds it to be malicious.     -   Parameter T, which represents the period of time that passes         between the two consecutive monitoring processes executed by a         specific network station.     -   Parameter ρ, which represents the number of alert messages that         originated from different network stations, received by a         specific network station, indicating the maliciousness of a         specific application, from which the application is considered         as malware by that specific network station. When the stations         of the network are mobile and each station is fed from a         corresponding battery, there is a need for optimizing the         electricity consumption of each station. Accordingly, in that         specific case the present invention uses ρ=1.

According to the present invention, MDM 200 classifies an application as malicious if one or both of the following holds:

-   -   MDM 200 has analyzed the application actually installed on the         network station and found it to be malicious.     -   MDM 200 has received more than a predefined number of alert         messages, as indicated by parameter p, originating from         different network stations on network 100 concerning the         maliciousness of a specific application. An application can be         defined by MDM 200 as malware while it is not necessarily         installed on the network station of this MDM 200.

According to the invention, several ongoing repeated steps are performed in each of the network stations 10 a to 10 i by their respective MDM 200 in order to propagate information concerning malwares throughout network 100. Network station 10 a is used as an exemplary network station to elaborate these steps. At the set up of network station 10 a (e.g. when 10 a is just added to network 100) all applications 11 to 19 which are installed on network station 10 a are placed in suspected applications list 300. At this stage, safe applications list 301 and known malwares list 302 are empty.

Once MDM 200 encounters a new application (e.g., when trying to install a new application on network station 10 a), it is compared to applications on known malwares list 302, and if found in that list, an alert is optionally sent by MDM 200 to the user via output device 400 (e.g. a message to a display, an alert sound, etc.). In another embodiment of the invention, the application is uninstalled automatically from network station 10 a by MDM 200. If the new application is not found in known malwares list 302, the application is added to suspected applications list 300 by MDM 200.

MDM 200 periodically selects an arbitrary application which is installed on network station 10 a, from suspected applications list 300, once every predefined period of time, as indicated by parameter T, and inspects that application. The selected application is monitored by MDM 200 by conventional methods, in order to detect whether it is malicious or not. In case that no malicious traces are found, the application is removed from suspected applications list 300 and is instead added to safe applications list 301. However, if the application is found to be malicious, it is removed from suspected applications list 300 by MDM 200 and added to known malwares list 302. Moreover, an alert is sent by MDM 200 to the user via output device 400. In an embodiment of the invention, the application is uninstalled automatically from network station 10 a by MDM 200. Moreover, an alert message is produced by MDM 200 and sent to a predefined number of other network stations, as indicated by parameter ρ, using network unit 500 through main server 700. The alert message comprises a specific TTL (Time To Live) value, as indicated by parameter TTL, a unique station ID identifying the origin of the alert message (e.g. a network station IP address, a MAC address, etc.), and a unique application ID for the application identified as malware by MDM 200. Once a network station receives the alert message through its network device 500, MDM 200 of the receiving network station, checks if the application ID within the alert message is known to it, and acts accordingly (see below). It also decreases the TTL value of the received alert message by 1, and automatically forwards the alert message to one or more arbitrarily selected network stations, through its own network device 500. This propagation process of the alert message continues until the TTL value of the alert message reaches zero.

According to the invention, MDM 200 may also classify an application as malicious as a result of receiving alert messages concerning a specific application. It is noted that the classification process might be exposed to various attacks in the form of the proliferation of inaccurate information concerning the maliciousness of an application by Byzantine network stations. This may be the result of a deliberate attack, aimed at “framing” a benign application (either as a direct attack against a competitive application, or as a more general attempt for undermining the system's reliability altogether). In order to protect benign applications from being “framed”, a network station classifies an application as malicious only after receipt of a predefined number of alerting messages concerning a specific application, as indicated by parameter p. Moreover, the alert messages must have originated from different network stations. For example, when an alert message concerning the maliciousness of a particular application, e.g. application 13, is received at network station 10 a, MDM 200 of 10 a forwards this message (assuming that the message TTL>0) to a one or more arbitrarily selected network stations using network unit 500 through main server 700, while first decreasing the value of the message's TTL by 1, with the possibility that MDM 200 of station 10 a has not yet classified application 13 as malicious. If the number of alert messages that originated from different network stations concerning application 13 received is lower than the value of parameter ρ, MDM 200 updates the corresponding value of messages received from different network stations concerning application 13. When ρ alert messages, that originated from different network stations, concerning application 13 are received, MDM 200 adds application 13 to known malwares list 302, removes it from suspected applications list 300 or from safe applications list 301 (if it exists in one of those lists), and an alert is optionally sent to the user via output device 400 (e.g. a message to a display, an alert sound etc.) by MDM 200. In another embodiment of the invention, application 13 is uninstalled automatically from network station 10 a by MDM 200.

FIG. 3 schematically illustrates 8 stages (number of stage are illustrated on the right of the figure) of the propagation of messages through a network. It is assumed that the parameters values are as follows: TTL=6, X=5 and T=4. It is assumed that in step 1, 4 time units have passed since network station 10 a has monitored an application installed on it. Accordingly, network station 10 a monitors application 13, and identifies it as malware. Network station 10 a creates an alert message with TTL=6, and sends it within the network to 5 other network stations. In step 2, each of the network stations that received the alert message, sends said alert message with a TTL value of 5 to one other network station (in another embodiment of the invention each of the network stations can send the alert message to more than one station). This process continues in steps 2-7 until the TTL value reaches zero in step 8.

In an embodiment of the present invention, the values of the parameters list 600 (i.e. parameters TTL, X, T and ρ) can be determined by the network operator, and sent as a parameter update message from main server 700 to all the network stations in the network. For example, once the update message is transferred to network station 10 a, MDM 200 updates parameter list 600 and the corresponding parameter values. In another embodiment of the invention the values of the parameters can be assigned by the end-user itself. Once new parameter values are established, MDM 200 acts accordingly.

Parameter Assignment

It is clear that various thresholds and parameters used in the present invention, i.e. the values of the parameters in list 600, significantly affect the efficiency of the system, in terms of the actual ability of the system to successfully complete the information proliferation on malware detected, the number of messages sent in the system, the completion time of the information propagation itself, and the resources allocated for this task. Accordingly, there are clear trade-offs between said parameters and the efficiency, e.g. as the value of X increases, the number of alert messages sent in the network increases, however, the time it takes to propagate an alert message throughout the network decreases. A detailed analysis of the invention in terms of said tradeoffs and a presented method for deciding on optimized values for said parameters is detailed below.

Let A={A₁, A2, . . . , Am} denote the group of applications which can be installed onto the network devices. It is assumed that each application may be installed on several devices, and that each device can host several applications, but not more than a single instance of any application. The group of applications installed on a device v is denoted by A(v). For some application A_(i), p_(Ai) denotes the application's penetration probability, i.e. the probability that for some arbitrary device v, A_(i) is installed on v at the starting point of the process. Namely:

p _(A) _(i) =n ⁻¹ |{vs.tA _(i) εA(v)}|

N denotes the expected number of applications which are installed on a single unit, namely:

$N = {n^{- 1}{\sum\limits_{v \in V}\; {{A(v)}}}}$

It is assumed that some applications of A may be malicious. As the presence of malwares installed on a network device compromises the network's security and reliability, the goal of the present invention is to prevent the expansion of such applications, i.e. being installed on other network stations. Formally, if A_(i) is a malicious application, a requirement is made such that:

Prob(p _(A) _(i) >p _(MAX))<ε

for some p_(MAX) of the network operator, and as small a value of ε as the network operator desires.

The use of parameter p_(MAX) here is designed to direct the system's efforts towards threats of high penetration probabilities. The rational behind this notion is that the system should not waste resources on defense against minor threats, whose damage potential is likely to be smaller than this of a widespread virus. Furthermore, it is likely that a malware of low penetration probability can simply be bound to a small fragment of the network (for example, due to operating system's incompatibility).

The result of an application monitoring is a non-deterministic Boolean function: M(x):A→{true; false}.

False-positive and false-negative error rates of the monitoring process shall be denoted as follows:

P(M(A _(i))=true|A _(i) is not malicious)=E ₊

P(M(A _(i))=false|A _(i) is malicious)=E ⁻

It is assumed that the MDM monitoring process is calibrated in such a way that E₊ is rather small.

In order to analyze the present invention's behavior, the movements of the notification messages between the network devices are modeled as random walking agents, traveling in a random graph G(n,p) (created by the random selection of the messages' destinations). Taking into account the fact that the messages have limited lifespan (i.e. TTL, hereinafter “timeout”), a relation between the size of the graph and the lifespan of the agents is produced. Once the value of timeout that guarantees coverage of the graph is determined, the completion time, as well overall number of messages sent, can then be calculated. In one embodiment of the present invention, the network operator can decide the completion time it desires, and extract the timeout that is needed.

While analyzing the correctness and performance of the present invention, a directed Erdos-Renyi random graph G(V,E)˜G(n,p_(N)) is considered, where p_(N)=X/n. The graph's vertices V denote the network's devices, and the graph's edges E represent messages forwarding connections between the devices, carried out during the execution of the present invention. Since G is a random graph, it can be used for the analysis of the performance of the present invention, although the message forwarding connections of the present invention are dynamic. A static selection of X neighbors of v in G is assumed, for the sake of analysis.

The agents have a limited life-span, equal to timeout. As the graph considered to represent the network is a random graph, the location of the devices onto which A_(i) is installed is also considered random. Therefore, as they are the sources of the agents, it is assumed that the initial locations of the agents are uniformly and randomly spread along the vertices of V. In compliance with the instruction of the present invention, the movement of the agents is done according to the random walk algorithm.

The expected number of new agents created at time t, denoted as {circumflex over (k)}(t) is therefore:

${\hat{k}(t)} = {\frac{n^{2} \cdot p_{A_{i}} \cdot p_{N}}{T \cdot N}\left( {1 - E_{-}} \right)}$

and the accumulated number of agents which have been generated in a period of t time-steps is therefore:

$k_{t} = {\sum\limits_{i \leq t}\; {\hat{k}(i)}}$

According to the invention, the value of timeout is selected in such a way that the complete coverage of the graph by (and therefore, its vaccination against Ai) is guaranteed (in probability greater than 1−ε).

An artificial division of the mission completion time to two phases is done. In the first phase, the generation of the agents is examined, while in the second phase, the information propagation activity is discussed. This division ignores the activity of the agents created in the second phase. Furthermore, the fact that the agents are working on different times (and in fact, some agents may already vanish while others have not even been generated yet) is immaterial. The purpose of this technique is to ease the analysis of the flow of the vaccination process.

The completion time is denoted by T_(Vaccination). Accordingly:

T _(Vaccination) ≦T _(Generation) +T _(Propagation)

Essentially T_(Propagation)=timeout. Now, a division is made so that

$\quad\left\{ \begin{matrix} {{timeout} = {\lambda \cdot \left( {T_{Generation} + {timeout}} \right)}} \\ {T_{Generation} = {\left( {1 - \lambda} \right) \cdot \left( {T_{Generation} + {timeout}} \right)}} \end{matrix} \right.$

Hence:

$T_{Generation} = {\frac{\left( {1 - \lambda} \right)}{\lambda} \cdot {timeout}}$

Later on, an upper bound for timeout will be demonstrated, based on the number of agents created in t≦T_(Generation) (ignoring the activity of the agents created between t=T_(Generation) and t=T_(Generation)+timeout).

The case of λ=0.5 is now examined (This value can be shown to be optimal). For this case:

T _(Vaccination)≦2·timeout

The number of agents created in the first T_(Generation) time-steps is denoted by k=k_(TGeneration). The time it takes those k agents to completely cover the graph G is then found, and from said time, the value of timeout is derived.

According to the present invention, a vertex (a network station) sends an alert message to a group of X random network members when identifying an application as malicious. Even though in the random graph model there are vertices with a higher number of neighbors than X (or alternatively, a lower number of neighbors), this model can still be used for the analysis purpose of the private case in which each vertex has exactly X neighbors.

Since the bounds are probabilistic, the following “bad event” occurs with very low probability (e.g. 2^(ω(n))): Event E_(low) _(—) _(degree), defined as the existence of some vertex v with

${\deg (v)} < {\frac{n \cdot p_{N}}{2}.}$

Using the Chernoff bound on G:

${{Prob}\left\lbrack {{\deg (v)} < \frac{n \cdot p_{N}}{2}} \right\rbrack} < ^{- \frac{n \cdot p_{N}}{8}}$

and applying union bound on all vertices:

${{Prob}\left\lbrack E_{{low}\mspace{14mu} {degree}} \right\rbrack} < {n \cdot ^{- \frac{n \cdot p_{N}}{8}}} < 2^{- {\omega {(n)}}}$

Similarly, Prob[E_(high degree)]<2^(−ω(n)).

From now on it is assumed that E_(low) _(—) _(degree) and E_(high) _(—) _(degree) do not hold, and all probabilities are conditioned over this assumption. In order to continue analyzing the execution process of the present invention it is shown that the locations of the notifications messages at any given time are purely random. According to the invention, the initial placement of the agents is random, their movement is random and the graph G is random. As a result, the placement of the agents after each step is purely random over the vertices. Accordingly, the number of agents residing in adjacent vertices from some vertex v can be produced:

Lemma 1: Let v C V be an arbitrary vertex of G. Let N₁(v,t) be the number of agents which reside on one of Neighbor(v) (adjacent vertices to v) after step t. Then:

$\forall\; {t \geq {0\text{:}\mspace{14mu} {E\left\lbrack {N_{1}\left( {v,t} \right)} \right\rbrack}} \geq \frac{p_{N} \cdot k}{2}}$

In other words, the expected number of agents who reside within distance 1 from v after every step is at least

$\frac{p_{N} \cdot k}{2}.$

Proof Upon the above assumption, in G(n,p_(N)) the number of incoming neighbors for some vertex v is at least 1/2p_(N)·n. In addition, for every uεV(G), Prob[some agent resides on u]=k/n. In addition, for every uεV such that (u, v)εE it is also known that deg(u)≦3/2p_(N)·n. Combining the above together produces:

$\forall\; {t \geq {0\text{:}\mspace{14mu} {E\left\lbrack {N_{1}\left( {v,t} \right)} \right\rbrack}} \geq \frac{p_{N} \cdot n \cdot k}{2n} \geq {\frac{1}{2}{p_{N} \cdot {k.}}}}$

Lemma 2: For any vertex vεV, the probability of v being notified at the next time-step that A_(i) is malicious is at least

$1 - {^{- \frac{k}{2n}}.}$

Proof For some agent located on a vertex u, such that (u, v)εE, the probability that it will move to v at the next time-step is 1/p_(N)·n. The number of agents that are located in adjacent vertices to v is 1/2p_(N)·k. Therefore, the probability that v will not be reported about A_(i) at the next time-step is

$\left( {1 - \frac{1}{p_{N} \cdot n}} \right)^{\frac{1}{2}{p_{N} \cdot k}}.$

Using the well known inequality (1−x)<e^(−x) for x<1, the probability from above is bounded by

$\left( ^{- \frac{1}{p_{N} \cdot n}} \right)^{\frac{1}{2}{p_{N} \cdot k}} \leq ^{- \frac{k}{2n}}$

Therefore, the probability that v will be notified on the next time-step is at least

$1 - {^{- \frac{k}{2n}}.}$

Interestingly, this fact holds for any positive p_(N) (the density parameter of G). p_(N)≠0 is essential, since a division by p_(N)·n is made in the above proof.

Denote by ρ-coverage of a graph the process that results in that every vertex in the graph was visited by some agent at least ρ times.

Theorem 1: The time it takes k random walkers to complete a ρ-coverage of Gin probability greater than 1−ε is:

${T(n)} \geq \frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - ^{- \frac{k}{2n}}}$

Proof: Lemma 2 states the probability that some vertex vεV will be reported of A_(i) at the next time-step. This is in fact a Bernoulli trial with:

$p_{success} = {1 - ^{- \frac{k}{2n}}}$

A bound for the probability of failing this trial (not notifying vertex v enough times) after m steps is established. Let X_(v)(m) denote the number of times that a notification message had arrived to v after m steps, and let F_(v)(m) denote the event that v was not notified enough times after m steps (i.e. X_(v)(m)<ρ). Denote by F(m) the event that one of the vertices of G where not notified enough times after m steps, i.e. U_(vεV(G))F_(v)(m).

The Chernoff bound is used:

${P\left\lbrack {{X_{v}(m)} < {\left( {1 - \delta} \right)p_{success}m}} \right\rbrack} < ^{{- \delta^{2}}\frac{{mp}_{success}}{2}}$

in which

$\delta = {1 - \frac{\rho}{{mp}_{success}}}$

such that:

${P\left\lbrack {{X_{v}(m)} < \rho} \right\rbrack} < ^{{- {({1 - \frac{\rho}{{mp}_{success}}})}^{2}}\frac{{mp}_{success}}{2}}$

Namely:

${P\left\lbrack {F_{v}(m)} \right\rbrack} < ^{\rho - \frac{{mp}_{success}}{2}}$

This bound is strong enough for applying the union bound:

P[e ₁ ∪e ₂ ∪ . . . ∪e _(n) ]≦P[e ₁ ]+P[e ₂ ]++P[e _(n)]

on all n vertices of G. Therefore the probability of failure on any vertex v (using Lemma 2) is bounded as follows:

${\Pr \left\lbrack {F(m)} \right\rbrack} \leq {n\; ^{\rho - \frac{{mp}_{success}}{2}}} \leq {n\; ^{\rho - \frac{m({1 - ^{- \frac{k}{2n}}})}{2}}} \leq \varepsilon$

A corollary of this is that:

${T(n)}\overset{\Delta}{=}{m \geq \frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - ^{- \frac{k}{2n}}}}$

A way to select a value of timeout that guarantees a successful vaccination process is shown next:

Theorem 2: In order for the present invention to guarantee a successful vaccination process for some critical penetration p_(MAX) in probability greater than 1−ε, the value of timeout should satisfy the following expression:

$\frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{{timeout}\left( {1 - {^{{- {timeout}} \cdot \frac{n \cdot p_{MAX} \cdot P_{N}}{2{T \cdot N}}}\left( {1 - E_{-}} \right)}} \right)} = 1$

Proof: Notice the number of agents, k, appears in the expression of Theorem 1:

$k = {\sum\limits_{i \leq T_{Generation}}\; {\frac{n^{2} \cdot p_{A_{i}} \cdot p_{N}}{T \cdot N}\left( {1 - E_{-}} \right)}}$

The goal of the vaccination process is to decrease the penetration probability of A_(i) below the threshold p_(MAX)·n. Until the process is completed, an assumption that this probability never decreases below p_(MAX) is made. Namely, that:

∀t<T_(Generation):p_(A) _(i) ≧p_(MAX)

Therefore, the number of agents is bound from below:

$k \geq {{{timeout} \cdot \frac{n^{2} \cdot p_{MAX} \cdot p_{N}}{T \cdot N}}\left( {1 - E_{-}} \right)}$

In order to guarantee successful completion, timeout=m is used, and therefore:

${timeout} = {\frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - ^{- \frac{k}{2n}}} \leq \frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - {^{- \frac{n \cdot P_{MAX} \cdot P_{N}}{2{T \cdot N \cdot {timeout}^{- 1}}}}\left( {1 - E_{-}} \right)}}}$

and the rest is implied.

Number of Messages and Time Required for Vaccination

It is noted that from the value of timeout stated in Theorem 2, the vaccination time T_(Vaccination) as well as the overall number of messages can be extracted.

Observation 1: For any timeout=τ which satisfies Theorem 2, the present invention time and cost can be expressed as:

$T_{Vaccination} = {{{O(\tau)} \cdot M} = {{O\left( {{k \cdot \tau} + {\frac{k}{X}C}} \right)} = {O\left( {\frac{p_{MAX} \cdot p_{N}}{n^{- 2}{T \cdot N}} \cdot \left( {1 - E_{-}} \right) \cdot \left( {\tau^{2} + \frac{n^{- 1}{\tau \cdot C}}{p_{N}}} \right)} \right)}}}$

An assumption that ε is polynomial in 1/n is made, namely:

ε=n^(−α)s.t. αε

Using the bound (1−x)<e^(−x) for x<1 when assuming that:

${{{timeout} \cdot \frac{n \cdot p_{MAX} \cdot p_{N}}{2{T \cdot N}}}\left( {1 - E_{-}} \right)} < 1$

Theorem 2 can be written as:

${\rho + {\left( {\alpha + 1} \right)\ln \; n}} \geq {{timeout}^{2} \cdot \frac{n \cdot p_{MAX} \cdot p_{N}}{4{T \cdot N \cdot \left( {1 - E_{-}} \right)^{- 1}}}}$

and therefore:

${timeout} \leq \sqrt{\frac{4{T \cdot {N\left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}}}{n \cdot p_{MAX} \cdot p_{N} \cdot \left( {1 - E_{-}} \right)}}$

One can find the lowest positive value of timeout, for which the above formula is satisfied. In one embodiment of the invention said timeout value (corresponding to parameter TTL in parameter list 600 in FIG. 2) is transmitted by the network operator to all network stations. Accordingly, the network stations update their parameter list.

The processes' completion time and cost is calculated:

Theorem 3: Completion time of the present invention is:

$T_{Vaccination} \leq {4\sqrt{\frac{T \cdot {N\left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}}{n \cdot p_{MAX} \cdot p_{N} \cdot \left( {1 - E_{-}} \right)}}}$

When the vaccination process is completed, no new messages concerning the malicious application are sent, and therefore the overall number of messages sent is as follows:

Theorem 4: The overall cost of the present invention (messages sent and monitoring) is:

$M \leq {{k \cdot {timeout}} + {\frac{k}{X} \cdot C}} \leq \leq {{4{n\left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}} + {2C\sqrt{\frac{{n\left( {p + {\left( {\alpha + 1} \right)\ln \; n}} \right)} \cdot p_{MAX}}{p_{N} \cdot T \cdot {N\left( {1 - E_{-}} \right)}^{- 1}}}}}$

Observation 2: Theorems 3 and 4 are valid only when:

$p_{N} < \frac{T \cdot N}{{n \cdot p_{MAX} \cdot \left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}\left( {1 - E_{-}} \right)}$

Proof: The approximations contained in the Theorems above hold only when

${{{timeout} \cdot \frac{n \cdot p_{MAX} \cdot p_{N}}{2{T \cdot N}}}\left( {1 - E_{-}} \right)} < 1.$

Combining with the explicit approximated expression for timeout, the constraint for the validity could be produced:

$\sqrt{{\frac{2{T \cdot N}}{n \cdot p_{MAX} \cdot {p_{N}\left( {1 - E_{-}} \right)}} \cdot 2}\left( {p + {\left( {\alpha + 1} \right)\ln \; n}} \right)} < < \frac{2{T \cdot N}}{n \cdot p_{MAX} \cdot {p_{N}\left( {1 - E_{-}} \right)}}$

and the rest of the proof is implied.

Taking Observation 2 as an upper bound for p_(N) and ln(n)/n as a lower bound for p_(N) which guarantees connectivity [10], the following corollaries can now be produced:

Corollary 1: The completion time of the present invention is:

$T_{Vaccination} = {O\left( {\rho + {\log \; n} + \frac{T \cdot {N\left( {1 - E_{-}} \right)}^{- 1}}{{p_{MAX} \cdot \log}\; n}} \right)}$

Proof: Assigning the upper bound for p_(N) into Theorem 3 immediately yields O(ρ+log n). When assigning the lower bound of p_(N)=ln(n)/n the following expression is received

$T_{Vaccination} \leq {4\sqrt{\frac{T \cdot N \cdot \left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}{{\ln (n)} \cdot {p_{MAX}\left( {1 - E_{-}} \right)}}}}$

However, using Observation 2 implies:

$\frac{\ln \; n}{n} < \frac{T \cdot N}{{n \cdot p_{MAX} \cdot \left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}\left( {1 - E_{-}} \right)}$

which in turn implies that:

${\left( {\rho + \left( {\alpha + 1} \right)} \right)\ln \; n} < \frac{T \cdot N}{{\ln (n)} \cdot {p_{MAX}\left( {1 - E_{-}} \right)}}$

Combining the two yields:

$T_{Vaccination} = {O\left( \frac{T \cdot N}{\ln \; {n \cdot p_{MAX} \cdot \left( {1 - E_{-}} \right)}} \right)}$

It is noted that although

$O\left( \frac{T \cdot N}{p_{MAX}} \right)$

is allegedly independent of n, we can

$\frac{T \cdot N}{p_{MAX}} = {{\Omega \left( {\log^{2}n} \right)}.}$

see nevertheless that

For similar arguments, the vaccination's cost can be approximated as:

Corollary 2: The overall cost of our present invention (messages sent+monitoring) is:

$\begin{matrix} {M = {O\left( {{k \cdot {timeout}} + {\frac{k}{X} \cdot C}} \right)}} \\ {= {O\left( {{n\; \rho} + {n\; \ln \; n} + {C\frac{n}{\ln \; n}} + {{{Cn}\left( {1 - E_{-}} \right)}\left( {\rho + {\ln \; n}} \right)\frac{p_{MAX}}{T \cdot N}}} \right)}} \end{matrix}$

In networks where E_(—)<1·O (1), provided that ρ=O(1), and remembering that

${\frac{T \cdot N}{p_{MAX}} = {\Omega \left( {\log^{2}n} \right)}},$

the dominant components of Corollary 2 are as follows

$M = {O\left( {{n\; \ln \; n} + {C\frac{n}{\ln \; n}}} \right)}$

Vaccination in General Graphs

In an embodiment of the present invention, the forwarding of notification messages between the vertices is not assumed to be done using a random scheme. For example, an adversary is controlling the “random selection” of network members, so that this selection does not reflect a random graph. In this case, the abovementioned method can still be used (with a higher value of TTL). However, the analysis of its performance will need to be revised, and the parameter assignment procedure as well. In order to do so, following upper bound concerning the exploration of a general graph using a decentralized group of k random walkers is used [11]:

${E\left( {ex}_{G} \right)} = {O\left( \frac{{E}^{2}\log^{3}n}{k^{2}} \right)}$

It is noted that the coverage time of random walkers in graphs is also upper bounded by

$\begin{matrix} {{\frac{4}{27}n^{3}} + {{o\left( n^{3} \right)}.}} & \lbrack 12\rbrack \end{matrix}$

However, an assumption that p_(N)<O(n^(−(0.5+ε))) is made, (for some ε>0), using the bound of [11] gives tighter results.

Substituting the result of Theorem 1 with the above, a revised version of Theorem 2 can now be obtained:

Theorem 5: In order for the present invention to guarantee a successful vaccination process for some critical penetration p_(MAX), the value of timeout should be as follows:

${timeout} = {O\left( {\rho \cdot \sqrt[3]{\frac{T^{2} \cdot N^{2}}{p_{MAX}^{2} \cdot \left( {1 - E_{-}} \right)}} \cdot n^{\frac{2}{3}} \cdot {\log (n)}} \right)}$

From the above, the time complexity and overall cost of revised model are derived, allowing the network operator to estimate the various parameters, and transmit them to the plurality of network stations accordingly.

Avoiding Benign Applications “Frame” Through Adversarial Use of the Present Invention

Let us denote by a P_(Attack)(timeout,ρ,k,ε) the probability that a “framing attack” done by a group of k organized adversaries will successfully convince at least ε·n of the network's units that some benign application A_(i) is malicious.

Theorem 6: The probability that k attackers will be able to make at least an ε portion of the network's units treat (benign) application A_(i) as a malicious application, and using TTL of timeout and threshold ρ is:

${P_{Attack}\left( {{timeout},\rho,k,ɛ} \right)} \leq {1 - {\varphi \left( {\sqrt{n} \cdot \frac{ɛ - \overset{\sim}{P}}{\sqrt{\overset{\sim}{P}\left( {1 - \overset{\sim}{P}} \right)}}} \right)}}$

where:

$\overset{\sim}{P} = {^{({\rho - {{timeout} \cdot {({1 - ^{- \frac{k \cdot p_{N}}{2}}})}}})} \cdot \left( \frac{{timeout} \cdot \left( {1 - ^{- \frac{k \cdot p_{N}}{2}}} \right)}{\rho} \right)^{\rho}}$

Proof: Lemma 2 is used to calculate the probability that unit vεV will be reported of A_(i) by a message sent by one of the k adversaries at the next time-step (a Bernoulli trial):

$p_{s} = {1 - ^{- \frac{k}{2\; n}}}$

Denoting as X_(v)(t) the number of times a notification message had arrived at v after t steps, using the Chernoff bound:

${P\left\lbrack {{X_{v}(t)} > {\left( {1 + \delta} \right){t \cdot p_{s}}}} \right\rbrack} < \left( \frac{^{\delta}}{\left( {1 + \delta} \right)\left( {1 + \delta} \right)} \right)^{t \cdot p_{s}}$

in which

$\delta = {\frac{\rho \cdot}{t \cdot p_{s}} - 1.}$

Accordingly:

$\overset{\sim}{P}\overset{\Delta}{=}{{P_{Attack}\left( {{timeout},p,k,n^{- 1}} \right)} = {{P\left. {{X_{v}({timeout})} > \rho} \right\rbrack} < {^{({\rho - {{timeout} \cdot p_{s}}})} \cdot \left( \frac{{timeout} \cdot p_{s}}{\rho} \right)^{\rho}}}}$

In order to bound the probability that at least ε·n of the units are deceived, the above probability is used as a second Bernoulli as a success probability. As n is large, the number of deceived units can be approximated using normal distribution, as follows:

${P_{Attack}\left( {{timeout},p,k,ɛ} \right)} \leq {1 - {\varphi\left( \frac{{ɛ \cdot n} - {n \cdot \overset{\sim}{P}}}{\sqrt{n \cdot {\overset{\sim}{P}\left( {1 - \overset{\sim}{P}} \right)}}} \right)}}$

and the rest of the proof is implied.

According to one embodiment of the invention, the network operator estimates the number of adversaries, k, determines a satisfying e value, and according to Theorem 6, an optimal value of ρ can be derived. This value is sent as a parameter update message to the network stations.

Coping with Leeching and a Passive Muting Attack

Collaborative systems, by their nature, are based on the fact that the participants are expected to contribute some of their resources. However, what happens when users decide to benefit from the system's advantages without providing the contribution that is expected from them? This behavior, known as leeching is frequent in many Peer-to-Peer data distribution systems, in which users often utilize the system for data download, without allocating enough upload bandwidth in return.

A similar behavior can also be the result of a deliberate attack on the system, e.g. a muting attack. In this attack, one or more participants of the system block all the messages that are sent to them (e.g. automatically decrease the TTL of the messages to zero). In addition, no original messages are sent by these participants. The purpose of this attack is to compromise the correctness of the vaccination process, which relies on the paths messages of a given TTL value are expected to perform.

Either performed as a way of evading the need to allocate resources for the collective use of the network, or maliciously as an adversarial use of the system, this behavior might have a significant negative influence on the performance of the vaccination process. The operators of the network therefore need to have a way of calibrating the system so that it will overcome disturbances caused by any given number of participants who select to adopt this behavior.

It will be shown that in terms of completion time the present invention is fault tolerant to the presence of blocking units up to a certain limit. More precisely, the expected vaccination time is unchanged as long as (Corollary 6 as will be shown):

$p_{mute}{\operatorname{<<}\frac{1}{{\rho ln}\; n}}$

As will be shown, for higher values of p_(mute) Theorem 7 presents an analytic upper bound for the present invention expected completion time. For extremely high values of p_(mute) the completion time of the present invention will be shown in Corollary 7 to be bounded as follows:

$\frac{\frac{1}{4}p_{mute}}{1 - p_{mute}} \cdot T_{V_{ac}}^{2}$

As to the overall cost of the present invention, it will be shown in Corollary 8 to remain completely unaffected by the presence of blocking units, regardless of their number, namely:

∀p _(mute)<1, M(n,p _(mute))=M(n,0)

Completion Time: p_(mute) denotes the probability that a given network station may decide to stop generating vaccination messages and block some or all of the messages that are received by it. T(n, p_(mute)) denotes the vaccination time of a network of n units, with a probability of p_(mute) to block messages. Theorem 2 can now be revised in the following way:

Theorem 7: The vaccination completion time of the present invention for some critical penetration p_(MAX) in probability greater than 1−ε, while at most n·p_(mute) units may block messages forwarding and generation, is

${T\left( {n,p_{mute}} \right)} = \frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - ^{{- \frac{1 - p_{mute} - ^{{- {timeout}} \cdot p_{mute}}}{p_{mute}}} \cdot \frac{n \cdot p_{MAX} \cdot p_{N}}{2{T \cdot N \cdot {({1 - {E\_}})}^{- 1}}}}}$

while for the calculation of timeout we can use the expressions that appear in Theorem 2 or Theorem 3.

Proof: The expected number of new messages created at time t, {circumflex over (k)}(t) is expected to be:

${\hat{k}(t)} = {\left( {1 - p_{mute}} \right)\frac{n^{2} \cdot p_{A_{i}} \cdot p_{N}}{T \cdot N}\left( {1 - E_{-}} \right)}$

Given a message created with a TTL of timeout, at every time step it has a probability of p_(mute) to be sent to a network node which will not forward it onwards. Therefore, given a group of m messages, created at time t. Then at time t+i (for every i<timeout), only (1−p_(mute))^(i)·m messages would remain alive. The average number of messages at any time step between t and t+timeout is therefore:

$m\frac{1 - \left( {1 - p_{mute}} \right)^{timeout}}{{timeout} \cdot p_{mute}}$

As we assume that ∀V<T_(Vaccination) p_(A) _(i) ≧p_(MAX), the number of agents k would be at least:

${\frac{1 - p_{mute} - \left( {1 - p_{mute}} \right)^{{timeout} + 1}}{p_{mute}} \cdot \frac{n^{2} \cdot p_{MAX} \cdot p_{N}}{T \cdot N}}\left( {1 - E_{-}} \right)$

Using again the fact that ∀x<1(1−x)<e^(−x), we can see that:

$k > {{\frac{1 - p_{mute} - ^{{- {timeout}} \cdot p_{mute}}}{p_{mute}} \cdot \frac{n^{2} \cdot p_{MAX} \cdot p_{N}}{T \cdot N}}\left( {1 - E_{-}} \right)}$

Recalling Theorem 1:

${T\left( {n,0} \right)} = \frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - ^{- \frac{k}{2n}}}$

and assigning the revised expression for k, the rest of the proof is implied.

The behavior of the expression above for various values of

r _(mute) =p _(mute)·timeout

will be observed. There are three complementary cases:

-   -   r_(mute)<<1

r_(mute)>>1

r_(mute)≈1

It is easy to see that when r_(mute)<<1, the decay of the number of messages is negligible, i.e.:

$\frac{1 - p_{mute} - ^{{- {timeout}} \cdot p_{mute}}}{p_{mute}} \approx {timeout}$

As a result, Theorem 7 can be approximated by Theorem 2. Subsequently, the Theorems and Corollaries that are derived from Theorem 2 would hold, and specifically—Corollary 1, according to which:

$p_{mute}{\operatorname{<<}\frac{1}{O\left( {{\rho log}\; n} \right)}}$

Based on the above, the fault tolerance of the present invention is stated, with respect to the muting attack:

Corollary 6: the present invention is fault tolerant with respect to the presence of

$c \cdot {O\left( \frac{n}{{\rho ln}\; n} \right)}$

mute network units (for some c<<1).

Namely:

T(n,p_(mute))≈T(n,0)

The case where r_(mute)<<1 is now observed. In this case, most of the messages are likely to be blocked before completing their TTL-long path. This results in an increased vaccination time, as shown in the following Corollary:

Corollary 7: When the number of blocking units is greater than

$c \cdot {O\left( \frac{n}{\rho \; \ln \; n} \right)}$

(for some c>>1), the completion time of the present invention is affected as follows:

${T\left( {n,p_{mute}} \right)} \leq {\frac{\frac{1}{4}p_{mute}}{1 - p_{mute}} \cdot {T\left( {n,0} \right)}^{2}}$

Proof: When r_(mute)>>1 Theorem 7 converges as follows:

Observation 4: When p_(mute)>>1/timeout, the vaccination time of the present invention is:

${T\left( {n,p_{mute}} \right)} = \frac{2\left( {\rho - {\ln \frac{\varepsilon}{n}}} \right)}{1 - ^{{{- \frac{1 - p_{mute}}{p_{mute}}} \cdot \frac{n \cdot p_{MAX} \cdot p_{N}}{2{T \cdot N}}}{({1 - E_{-}})}}}$

Assuming again that:

ε=n^(−α)s.t. αε

then provided that:

${{\frac{1 - p_{mute}}{p_{mute}} \cdot \frac{n \cdot p_{MAX} \cdot p_{N}}{2{T \cdot N}}}\left( {1 - E_{-}} \right)} < 1$

can be seen that:

${T\left( {n,p_{mute}} \right)} = \frac{4{N \cdot T \cdot {p_{mute}\left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}}}{\left( {1 - p_{mute}} \right) \cdot n \cdot p_{MAX} \cdot {p_{N}\left( {1 - E_{-}} \right)}}$

Using Theorem 3, a calculation of Δ_(pmute), denoting the increase in the vaccination time as a result of the presence of the blocking nodes, is made:

$\Delta_{p_{mute}} = {\frac{T\left( {n,p_{mute}} \right)}{T\left( {n,0} \right)} = \frac{\frac{4{N \cdot T \cdot {p_{mute}\left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}}}{\left( {1 - p_{mute}} \right) \cdot n \cdot p_{MAX} \cdot {p_{N}\left( {1 - E_{-}} \right)}}}{4\sqrt{\frac{T \cdot {N\left( {\rho + {\left( {\alpha + 1} \right)\ln \; n}} \right)}}{n \cdot p_{MAX} \cdot p_{N} \cdot \left( {1 - E_{-}} \right)}}}}$

and after some arithmetic manipulation:

$\Delta_{p_{mute}} = {\frac{T\left( {n,p_{mute}} \right)}{T\left( {n,0} \right)} = {\frac{\frac{1}{4}p_{mute}}{1 - p_{mute}} \cdot {T\left( {n,0} \right)}}}$

For every other value of r_(mute) which revolves around 1, the expected vaccination time would move between T(n, 0) and

$\frac{\frac{1}{4}\hat{p_{mute}}}{1 - p_{mute}} \cdot {T\left( {n,0} \right)}^{2}$

(more details concerning the monotonic nature of T(n,p_(mute)) will be given in the proof of Corollary 8 below).

Cost of the present invention: The affect blocking units may have on the number of messages sent throughout the execution of the process is now examined. Denote by M(n, p_(mute)) the overall cost of the present invention (messages sent+monitoring) for a network of n units, with a probability of p_(mute) to block messages. As shown in the following Corollary, the overall cost of the vaccination process remains unaffected by the presence of any given number of blocking units.

Corollary 8: The overall cost of the present invention is unaffected by the presence of blocking units. i.e.:

∀p _(mute)<1, M(n,p _(mute))=M(n,0)

Proof: It was shown before (Corollary 6) that when the number of blocking units is smaller than

$c \cdot {O\left( \frac{n}{\rho \; \ln \; n} \right)}$

(for some c<<1), the system is approximately unaffected by the blocking units. Therefore:

M(n,p_(mute))≈M(n,0)

Interestingly, this is also the case when the number of blocking units is far greater. Recalling corollary Corollary 2, the cost of the process when no blocking units are present is

${M\left( {n,0} \right)} = {O\left( {{k \cdot {T\left( {n,0} \right)}} + {\frac{k}{n \cdot p_{N}} \cdot C}} \right)}$

Denoting by k(n,p_(mute)) the expected number of active agents at each time step, it was shown in the proof of Theorem 7 that for large values of p_(mute):

$k_{({n,p_{mute}})} \approx {\frac{1 - p_{mute}}{p_{mute}} \cdot {T\left( {n,0} \right)}^{- 1} \cdot k_{({n,0})}}$

The overall cost of the process when a large number of blocking units are present is:

${M\left( {n,p_{mute}} \right)} = {O\left( {{k_{({n,p_{mute}})} \cdot {T\left( {n,p_{mute}} \right)}} + {\frac{k_{({n,p_{mute}})}}{n \cdot p_{N}}C}} \right)}$

Assigning the values of k(n,p_(mute)) and T(n, p_(mute)):

${M\left( {n,p_{mute}} \right)} = {O\left( {{k_{({n,0})} \cdot {T\left( {n,0} \right)}} + {\frac{\frac{1 - p_{mute}}{p_{mute}} \cdot k_{({n,0})}}{{T\left( {n,0} \right)} \cdot n \cdot p_{N}}C}} \right)}$

As it assumed that:

$p_{mute}\frac{1}{\rho \; \ln \; n}$

Accordingly:

$\frac{1 - p_{mute}}{p_{mute}}\frac{1 - \frac{1}{\rho \; \ln \; n}}{\frac{1}{\rho \; \ln \; n}}{{\rho \; \ln \; n} - 1}$

Using this, the expression for the overall cost of the process is as follows:

${M\left( {n,p_{mute}} \right)} = {O\left( {{k_{({n,0})} \cdot {T\left( {n,0} \right)}} + {\frac{\rho \; \ln \; {n \cdot k_{({n,0})}}}{{T\left( {n,0} \right)} \cdot n \cdot p_{N}}C}} \right)}$

and as T(n,0)=Ω(lm,n), we get the requested result of:

${M\left( {n,p_{mute}} \right)} = {{O\left( {{k_{({n,0})} \cdot {T\left( {n,0} \right)}} + {\frac{k_{({n,0})}}{n \cdot p_{N}}C}} \right)} = {M\left( {n,0} \right)}}$

It has been shown that M(n, p_(mute))=M(n, 0) for p_(mute)<<1/timeout and well as for p_(mute)>>1/timeout. An upper bound for the overall cost of the process for values of p_(mute) which are close to 1/timeout will now be established. For this, the value of p_(mute) which maximizes M(n, p_(mute)) is found:

$\frac{\partial{M\left( {n,p} \right)}}{\partial p} = {{\frac{\partial k_{({n,p})}}{\partial p}{T\left( {n,p} \right)}} + {\frac{\partial{T\left( {n,p} \right)}}{\partial p}k_{({n,p})}} + {\frac{\partial k_{({n,p})}}{\partial p}\frac{C}{n \cdot p_{N}}}}$

and according to Theorem 7:

$k > {{\frac{1 - p_{mute} - ^{{- {timeout}} \cdot p_{mute}}}{p_{mute}} \cdot \frac{n^{2} \cdot p_{MAX} \cdot p_{N}}{T \cdot N}}\left( {1 - E_{-}} \right)}$

hence,

$\frac{\partial k_{({n,p})}}{\partial p} = {\frac{{\left( {{p \cdot {timeout}} + 1} \right) \cdot ^{{- {timeout}} \cdot p}} - 1}{p^{2}} \cdot \alpha}$

where:

$\alpha = {\frac{n^{2} \cdot p_{MAX} \cdot p_{N}}{T \cdot N}\left( {1 - E_{-}} \right)}$

Therefore:

$\forall{p > {0 \cdot \frac{\partial k_{({n,p})}}{\partial p}} < 0}$

and the number of agents is monotonously decreasing.

Examining the behavior of the cleaning time:

$\frac{\partial T_{({n,p})}}{\partial p} = {{- \frac{\partial k_{({n,p})}}{\partial p}} \cdot \frac{2\; ^{{- \frac{1 - p - ^{{- {timeout}} \cdot p}}{p}} \cdot \beta}}{{n\left( {1 - ^{{- \frac{1 - p - ^{{- {timeout}} \cdot p}}{p}} \cdot \beta}} \right)}^{2}}}$

where:

$\beta = \frac{n \cdot p_{MAX} \cdot p_{N}}{2{T \cdot N \cdot \left( {1 - E_{-}} \right)^{- 1}}}$

Using the observation concerning

$\frac{\partial k_{({n,p})}}{\partial p}\text{:}$

${\forall{p > 0}},{\frac{\partial T_{({n,p})}}{\partial p} > 0}$

and the cleaning time is monotonously increasing.

Returning to the derivative of the overall price function, a division into two components is made. The first component representing the number of messages sent during the process while the second representing the monitoring activities of the units:

$\frac{\partial M_{({n,p})}}{\partial p} = {{M_{1}(p)} + {M_{2}(p)}}$

Where:

${M_{1}(p)} = {{\frac{\partial k_{({n,p})}}{\partial p}{T\left( {n,p} \right)}} + {\frac{\partial T_{({n,p})}}{\partial p}k_{({n,p})}}}$ and: ${M_{2}(p)} = {\frac{\partial k_{({n,p})}}{\partial p}{\frac{1}{n \cdot p_{N}} \cdot C}}$

As k(n,p) is monotonously decreasing, the cost of the present invention due to monitoring activities, represented by M₂(p), would be maximized when p_(mute)=0 (for which we have already shown that M(n,p)=M(n, 0)).

As to M₁(p), it can be written as:

${M_{1}(p)} = {\frac{\partial k_{({n,p})}}{\partial p}\left( {{T\left( {n,p} \right)} - {\frac{^{{- \beta} \cdot x_{p}}}{\left( {1 - ^{{- \beta} \cdot x_{p}}} \right)^{2}} \cdot x_{p} \cdot \beta}} \right)}$

where:

$\beta = \frac{n \cdot p_{MAX} \cdot p_{N}}{2\; {T \cdot N \cdot \left( {1 - E_{-}} \right)^{- 1}}}$ and: $x_{p} = \frac{1 - p - ^{{- {timeout}} \cdot p}}{p}$

Studying this function reveals that it has a single minimum point, while M₁(0)=0 and M₁(1)→∞. This means that the maximal values of M(n,p_(mute)) are received either at p_(mute)=0 or at p_(mute)=1. It was shown that at these points the overall cost of the process remains unchanged, it is concluded that the overall cost of the process at any point between these values of p_(mute) is also bounded by M(n,0).

The above examples and description have been provided only for the purpose of illustration, and are not intended to limit the invention in any way. As will be appreciated by the skilled person, the invention can be carried out in a great variety of ways, employing more than one technique from those described above, all without exceeding the scope of the claims.

REFERENCES

-   [1] K. Alzoubi, P. J. Wan, and O. Frieder, New distributed algorithm     for connected dominating set in wireless ad-hoc networks,     Proceedings of HICSS, 2002. -   [2] F. Chung and L. Lu, The diameter of sparse random graphs,     Advances in Applied Mathematics 26 (2001), 257-279. -   [3] S. Crisostomo, J. Barros, and C. Bettstetter, Flooding the     network: Multipoint relays versus network coding, 4th IEEE     International Conference on Circuits and Systems for Communications     (ICCSC), 2008, pp. 119-124. -   [4] P. Erdos and A. Renyi, On random graphs, Publ. Math. Debrecen 6     (1959), 290-291. -   [5] Z. Haas, J. Halpern, and L. Li, Gossip-based ad-hoc routing,     IEEE/ACM Transactions of networks 14 (2006), no. 3, 479-491. -   [6] W. Lou and J. Wu, On reducing broadcast redundancy in ad-hoc     wireless networks, IEEE Transactions on Mobile Computing 1 (2002),     no. 2, 111-123. -   [7] L. V. A. Qayyum and A. Laouiti, Multipoint relaying for flooding     broad-cast messages in mobile wireless networks, Proceedings of     HICSS, 2002. -   [8] Y. Sasson, D. Cavin, and A. Schiper, Probabilistic broadcas for     flooding in wireless mobile ad-hoc networks, Proceedings of IEEE     Wireless communication and networks (WCNC), 2003. -   [9] B. Williams and T. Camp, Comparison of broadcasting techniques     for mobile ad hoc networks, MOBIHOC, 2002, pp. 9-11. -   [10] F. Chung and L. Lu, The diameter of sparse random graphs,     Advances in Applied Mathematics 26 (2001), 257-279. -   [11] [7] A. Z. Broder, A. R. Karlin, P. Raghavan, and E. Upfal,     Trading space for time in undirected s_(i)t connectivity, ACM     Symposium on Theory of Computing (STOC), 1989, pp. 543-549. -   [12] Uriel Feige, A tight upper bound on the cover time for random     walks on graphs, Random Struct. Algorithms 6 (1995), no. 1, 51-54. 

1. A collaborative system for protecting against the propagation of malwares in a network, which comprising a plurality of network stations, wherein each station comprises: a. a detection module for locally scanning said station for possibly detecting a malware every T time units; b. an output unit; c. a list containing the values of parameters TTL, X, ρ and T d. a first list for indicating safe applications; e. second list indicating unclassified applications; f. a third list indicating malwares; g. a network unit adopted to: g.1. send an alert message to X other network stations upon detection of a malware by said detection module wherein each alert message comprises the ID of said detected malware, and a TTL value, wherein said TTL value indicates the number of times said alert message should be transmitted before it is discarded; g.2. perform the following upon receipt of an alert message: g.2.1. list the malware ID identified in said alert message in said third list, and if ρ=1, notifying the user through said output unit, or if ρ>1, updating the number of alert messages received concerning said malware ID; g.2.2 checking the number of alert messages concerning said malware ID that were received and notifying the user through said output unit if said number of alert messages exceeds ρ>1; g.2.3. for ρ≧1, checking if value of the TTL included in the alert message as received at the station is greater than 0, and if so, sending an additional alert message from the station to one or more other stations, wherein said additional alert message comprises said malware ID and a value of TTL decreased by 1 from the TTL included in the alert message as received at the station.
 2. A collaborative system according to claim 1, further comprising a server for updating the values of TTL, X, ρ and T and sending the update to the station.
 3. A collaborative system according to claim 1, wherein said malware is deleted from the station automatically if more than ρ alert messages concerning said malware ID were received.
 4. A collaborative system according to claim 1, wherein the user is given an option to delete said malware from the station automatically if more than ρ alert messages concerning said malware ID were received.
 5. A collaborative system according to claim 1, further comprising removing the malware ID identified in said alert message from said second list upon receipt of an alert message.
 6. A collaborative system according to claim 1, wherein each station stores the addresses of said X other network stations.
 7. A collaborative system according to claim 2, wherein said server stores the addresses of said X other network stations. 